package com.niuwa.p2p.dao.fund;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import com.niuwa.p2p.dao.MyBatisDao;
import com.niuwa.p2p.entity.fund.NwAccount;

@MyBatisDao
public interface NwAccountDao {

	/**
	 * 
	 * 查询第三方托管机构账户
	 *
	 * @rerurn Object
	 *
	 */
	public List<Map<String, Object>> searchDetachedAccount();


	/**
	 * 
	 * 查询银行账户
	 *
	 * @rerurn Object
	 *
	 */
	public List<Map<String, Object>> searchBankAccount();


	/**
	 * 获取符合条件的牛娃账户数
	 * 
	 * @param paramMap
	 * @return
	 */
	public int getNWAccountCountByCondition(Map<String, Object> paramMap);


	/**
	 * 获取符合条件的牛娃账户列表
	 * 
	 * @return
	 * @throws SQLException
	 */
	public List<NwAccount> getNWAccountByCondition(Map<String, Object> paramMap);


	// 根据账户号码查询牛娃账户
	public List<NwAccount> getNwAccountByNo(String acctNo);


	// 根据账户号码查询基本账户
	public List<NwAccount> getBaseAccountByNo(String acctNo);


	/**
	 * 
	 * 新增牛娃账户
	 * 
	 * @param nwAccount
	 * @return
	 *
	 */
	public void addNWAccount(NwAccount nwAccount);


	/**
	 * 
	 * 新增基本账户
	 * 
	 * @param nwAccount
	 * @return
	 *
	 */
	public void addBaseAccount(NwAccount nwAccount);


	/**
	 * 
	 * 修改牛娃账户
	 * 
	 * @param nwAccount
	 * @return
	 *
	 */
	public void updateNWAccount(NwAccount nwAccount);


	/**
	 * 
	 * 修改基本账户
	 * 
	 * @param nwAccount
	 * @return
	 *
	 */
	public void updateBaseAccount(NwAccount nwAccount);
	
	
	/**
	 * @Description: 根据条件查询需要的账户信息
	 * @param paramMap
	 * @return
	 */
	public NwAccount selectAcctByCriteria(Map<String,Object> paramMap);


	int deleteByPrimaryKey(String acctNo);


	int insert(NwAccount record);


	int insertSelective(NwAccount record);


	NwAccount selectByPrimaryKey(String acctNo);


	int updateByPrimaryKeySelective(NwAccount record);


	int updateByPrimaryKey(NwAccount record);
}